Modern computing systems, whether personal or commercial, often include a secure section of memory devoted to master secret data, which generally contains initialization data, initialization settings, registry files, passwords, keys, and other sensitive information that is accessible to the components, applications, and operators of the computer on a limited basis. Master secret data is often used during booting, to encrypt/decrypt information, or for secure operations. As such, the master secret data is often among the most important of the data stored in computing systems as it allows the computing system to boot, secure information, read secured information, and generally operate.
In recent years, security of computing systems has become an increasingly important issue. Typically, operators of computing systems are concerned with the security of electronically stored information, including the master secret data, and prohibiting unauthorized access to it. Typical methods of gaining unauthorized access include loading viruses or worms on computing systems, loading software key-loggers or packet sniffers onto computing systems, attaching hardware-based key loggers onto computing systems, configuring packet sniffers on computer networks in communication with computing systems, and direct hardware attacks on computing systems. As such, there are a number of ways to attempt to gain unauthorized access to computing system data. However, as master secret data is especially integral to the operation of computing system, extra measures are typically used to prevent unauthorized access.
Recent developments to secure computing systems have generally included providing a security state machine to protect the master secret data of an integrated circuit. The security state machine is typically configured to protect the master secret data by preventing access to the master secret data in certain circumstances, such as when the computing system is turned off or when there is an indication that unauthorized access is being attempted. However, the security state machine is generally susceptible to hardware-based attacks while the computing system is running as well as when the computing system is powered off. In particular, typical security state machines are susceptible to clocking attacks that vary a clock circuit of the computing system, thus forcing the security state machine into erroneous states and leaving master secret data vulnerable. Moreover, master secret data is typically stored in a non-volatile region of memory of an integrated circuit. As such, integrated circuits configured with master secret data are susceptible to hardware attacks such as direct connection or de-layering attacks. Conventional direct connection attacks directly attach communication pins to areas of master secret data and capture that master secret data, while de-layering often includes removing at least one layer of an integrated circuit to directly read the memory locations of the master secret data and capture that master secret data. Thus, conventional security state machines typically leave integrated circuits vulnerable to hardware-based attacks and unauthorized access.
Consequently, there is a need for keeping master secret data safe during hardware-based attacks.